package com.jinly.ryder.log.client.dto;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;

import java.util.List;

@Data
public class TopicInfoDTO {


    /**
     * 日志集的 ID
     */
    @JSONField(name = "logset_id")
    private String logsetId;

    /**
     * 日志主题的 ID
     */
    @JSONField(name = "topic_id")
    private String topicId;

    /**
     * 日志主题的名字
     */
    @JSONField(name = "topic_name")
    private String topicName;

    /**
     * 主题分区 partition 的数量
     */
    @JSONField(name = "partition_count")
    private String partitionCount;


    // 新版通配符日志采集路径，以/**/分隔文件目录和文件名，和旧版 path 只会存在一个
    @JSONField(name = "wild_path")
    private String wildPath;

    /**
     * 是否开启采集
     */
    @JSONField(name = "collection")
    private Boolean collection;

    /**
     * 是否开启索引
     */
    @JSONField(name = "index")
    private Boolean index;

    /**
     * 采集的日志类型，
     * json_log代表 json 格式日志，
     * delimiter_log代表分隔符格式日志，
     * minimalist_log代表单行全文格式，
     * multiline_log代表多行日志，
     * fullregex_log代表完整正则，默认为minimalist_log
     */
    @JSONField(name = "log_type")
    private String logType;

    /**
     * 提取规则
     */
    @JSONField(name = "extract_rule")
    private ExtractRuleDTO extractRule;

    @JSONField(name = "machine_groups")
    private List<String> machineGroups;

    /**
     * 创建时间
     */
    @JSONField(name = "create_time")
    private String createTime;
}
